共计 1969 个字符,预计需要花费 5 分钟才能阅读完成。
引入
在学习表的详细操作之前有必要先了解存储引擎这块的知识👉🏻存储引擎
一. 表介绍
库是一个文件夹, 那么表就是一个文件, 而表中的一条记录就相当于文件的一行内容, 不同的是表中的记录都有对应的标题, 这个标题就称之为表的 字段
如上图所示 id、name、age、sex就称之为 字段, 下面的都称之为一条条的记录
二. 创建表 (creat)
1. 创建表的完整语法
- 在同一张表内, 字段名不能相同
- 宽度和约束条件可选, 字段名和类型是必须的
- 约束条件可以写多个
- 最后一个字段不能有逗号, 否则报错
create table [表名]([字段名 1] [类型(宽度)] [约束条件],
[字段名 1] [类型(宽度)] [约束条件],
[字段名 1] [类型(宽度)] [约束条件],
....
);
2. 查看表
show tables; # 查看当前库下的所有表
show create table [表名]; # 指定查看某一个表
3. 创建示例
create database db01 charset utf8; # 创建一个数据库
use db01; # 进入库
create table t01(id int,name varchar(12),age int(3),sex char); # 创建表 t01
create table t02(id int,name varchar(12),age int(3),sex char); # 创建表 t02
create table t03(id int,name varchar(12),age int(3),sex char); # 创建表 t03
show tables; # 查看当前库下所有的表
三. 查看表结构 (desc)
describe [表名]; # 查看表结构
desc [表名]; # 上面的简写
1. 演示
describe t01;
desc t02;
四. 表数据类型
表数据类型有:
-
数值类型
-
整数类型
- 小整数
- 大整数
- 整数
- 等等.....
-
浮点数类型
- 单精度
- 双精度
- 准确小数值
-
字符串类型
-
日期和时间
-
枚举和集合
由于篇幅过长, 请到该篇文章查看👉🏼表数据类型详解
五. 表完整性约束
表的相关操作 :
- null
- not null
- default
- unique
- primary key
- auto_increment
- froeign key
- 等等.....
由于篇幅过长, 请到该篇文章查看👉🏼表完整性约束
六. 修改表 (alter)
1. 修改存储引擎
🍓语法
alter table [表名] engine=[存储引擎类型];
🍓演示
alter table t02 engine=myisam; # 将表 t02 的存储引擎修改成 myisam
2. 修改表名
🍓语法
alter table [旧表名] rename [新表名];
🍓演示
alter table t01 rename tt01; # 将 t01 改成 tt01
3. 增加字段
🍓三种语法
alter table [表名]
add [字段名] [数据类型] [完整性约束条件...],
add [字段名] [数据类型] [完整性约束条件...]; # 多个字段用逗号隔开
alter table [表名]
add [字段名] [数据类型] [完整性约束条件...] first; # 插入到第一个字段
alter table [表名]
add [字段名] [数据类型] [完整性约束条件...] after [字段名]; # 添加到某某字段之后
🍓演示
alter table tt01 add aa int not null,add bb char(10) not null default "B"; # 增加 aa 和 bb 字段
alter table tt01 add cc int first; # 将 cc 字段新增到最前面
alter table tt01 add dd int after name; # 将 dd 字段新增到 name 字段后面
4. 删除字段
🍓语法
alter table [表名] drop [字段名];
🍓演示
alter table tt01 drop cc; # 删除表 tt01 的 cc 字段
alter table tt01 drop dd; # 删除表 tt01 的 dd 字段
5. 修改字段类型
🍓语法
alter table [表名] modify [字段名] [数据类型(宽度)] [约束条件];
alter table [表名] change [就字段名] [新字段名] [字段类型(宽度)] [约束条件];
🍓演示
alter table tt01 modify aa varchar(16); # 将表 tt01 的 aa 字段类型改为 varchar
alter table tt01 modify bb int; # 将表 tt01 的 bb 字段类型改为 int
七. 复制表 (create table)
- 值赋值表结构和记录, 主键、外键、索引无法复制
select * from emp2;
desc emp2;
create table new_emp2 select * from emp2; # 复制表 emp2(也可以加上条件)
select * from new_emp2; # 查看新表记录
desc new_emp2; # 查看新表结构
八. 删除表
drop table [表名];
drop table t03; # 删除表 t03
---END---
正文完